import pyjd # this is dummy in pyjs.
from pyjamas import Window
from pyjamas.ui import Event 
from pyjamas.ui import HasAlignment
from pyjamas.ui.Button import Button
from pyjamas.ui.CheckBox import CheckBox
from pyjamas.ui.ClickListener import ClickHandler
from pyjamas.ui.FocusPanel import FocusPanel
from pyjamas.ui.HTML import HTML
from pyjamas.ui.HTMLPanel import HTMLPanel
from pyjamas.ui.HorizontalPanel import HorizontalPanel
from pyjamas.ui.Image import Image
from pyjamas.ui.Label import Label
from pyjamas.ui.MenuBar import MenuBar
from pyjamas.ui.MenuItem import MenuItem
from pyjamas.ui.RadioButton import RadioButton
from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.ScrollPanel import ScrollPanel
from pyjamas.ui.TextBox import TextBox
from pyjamas.ui.VerticalPanel import VerticalPanel
import pygwt

text = " "# """
# Il sole viaggiava in cielo, allegro e glorioso sul suo carro di fuoco, gettando i suoi raggi in tutte le direzioni, con grande rabbia di una nuvola di umore temporalesco, che borbottava:
# """
# “Sciupone, mano bucata, butta via, butta via i tuoi raggi, vedrai quanti te ne rimangono”.
# Nelle vigne ogni acino d’uva che maturava sui tralci rubava un raggio al minuto, o anche due; e non c’era filo d’erba, o ragno, o fiore, o goccia d’acqua, che non si prendesse la sua parte.
# “Lascia, lascia che tutti ti derubino: vedrai come ti ringrazieranno, quando non avrai più niente da farti rubare”.
# Il sole continuava allegramente il suo viaggio, regalando raggi a milioni, a miliardi, senza contarli.
# Solo al tramonto contò i raggi che gli rimanevano: e, guarda un po’, non gliene mancava nemmeno uno. La nuvola per la sorpresa, si sciolse in grandine.
# Il sole si tuffò allora allegramente nel mare. 

# Gianni Rodari
# """

# inizializzazione di Pyjamas
pyjd.setup("public/leggitux.html")


# variabili globali

text1 = """<b>Perché a Pipì fu dato il soprannome di «scimmiottino color di rosa» </b>

<br/>

Nel famosissimo bosco di Vattel'a pesca, c'era una volta una piccola famigliola composta di sette scimmie: il babbo, la mamma e cinque scimmiottini alti quanto un soldo di cacio. 
Questa famigliola abitava fra i rami di un albero gigantesco, in mezzo a una foresta, e pagava quindici susine l'anno di pigione a un vecchio gorilla prepotente, che si era messo in capo di essere il padrone di casa. 
Dei cinque scimmiottini, quattro avevano il pelame di un colore scuro come la cioccolata; ma il quinto, invece, ossia il più piccolo di loro, fosse scherzo di natura o altro, fatto sta che era tutto ricoperto, salvo il musino, da una finissima lanugine di color vermiglio carnicino, come le foglie della rosa maggese. Ed è per questa ragione che in casa e fuori di casa lo chiamavano tutti in canzonatura col soprannome di Pipì, parola che nella lingua parlata delle scimmie, vuol dire precisamente color di rosa.  
Pipì non somigliava punto né a' suoi fratelli, ne agli altri scimmiottini del vicinato. 
Aveva un musino vispo e intelligente; un par di occhietti furbi, che non stavano fermi un minuto: una bocchina che rideva sempre, e un personalino asciutto e flessibile, come un gambo di giunco. Era, insomma, come suol dirsi, uno scimmiottino fatto proprio col pennello. 
Vedendolo così di prim'acchito, si poteva quasi scambiarlo per un ragazzino di otto o nove anni, per la gran ragione che Pipì faceva il chiasso e i balocchi, come un ragazzo: correva dietro alle farfalle e andava in cerca di nidi, come i ragazzi: era ghiottissimo delle frutta acerbe, come i ragazzi: mangiava ogni cosa e mangiava sempre, come i ragazzi: e dopo aver mangiato ben bene, si ripuliva la bocca con le mani, come fanno i ragazzi e segnatamente i ragazzi poco puliti. 
Ma la più gran passione di Pipì volete sapere qual era? 
Era quella di scimmiottare tutto quello che vedeva fare agli uomini. 
Un giorno, fra gli altri, mentre andava per la foresta a caccia di cicale e di grilli, vide a poca distanza un giovanetto seduto a piè d'un albero, che se ne stava tranquillamente fumando la sua pipa. 
A quella vista, Pipì spalancò tanto d'occhi e rimase come incantato.  
"Oh!" diceva dentro di sé "se potessi avere una pipa anch'io!... Oh se potessi anch'io farmi uscire que' bei nuvoli di fumo dalla bocca!... Oh se potessi tornarmene a casa, fumando come un camminetto acceso! Chi lo sa con che occhi d'invidia mi guarderebbero i miei quattro fratelli!" 
Mentre allo scimmiottino frullavano per il capo queste bellissime cose, ecco che il giovinetto, un po' per la stanchezza e un po' per il gran bollore della giornata, lasciò andare due sonori sbadigli, e posata la sua pipa sull'erba, si addormentò. 
Che cosa fece allora quel birichino di Pipì? 
Si avvicinò pian pianino, in punta di piedi, al giovinetto che dormiva: e rattenendo perfino il fiato... allungò adagino adagino una zampa... prese con una velocità incredibile la pipa che era posata sull'erba... e poi, via a gambe come il vento. 
Appena arrivato a casa, chiamò subito, tutt'allegro, il babbo, la mamma e i fratelli; e in presenza a loro, infilatosi quel pipone fra i labbri, cominciò a fumare con lo stesso garbo e con la stessa disinvoltura, come avrebbe fatto un vecchio marinaio. 
La mamma e i fratelli, a vedergli uscir di bocca quelle nuvole di fumo, ridevano come matti: ma il suo babbo che era uno scimmione pieno di giudizio e di esperienza di mondo, gli disse in tono di avvertimento salutare: 
«Bada, Pipì! A furia di scimmiottare gli uomini, un giorno o l'altro diventerai un uomo anche tu... e allora! Allora te ne pentirai amaramente, ma sarà troppo tardi!» 
Impensierito da queste parole, Pipì gettò via la pipa di bocca e non fumò più. 
Eppure bisogna convenire che quella pipa rubata gli portò disgrazia. 
Difatti, pochi giorni dopo, Pipì venne colpito da un orribile infortunio! Lo sciagurato perdé per sempre la sua bellissima coda: una coda così bella, che bastava averla vista una volta, per non potersela mai più dimenticare. 
Come andò che Pipì perdé la sua magnifica coda?  
È una storia crudele e dolorosa, che fa venire le lacrime agli occhi soltanto a pensarvi; e io ve la racconterò in quest'altro capitolo. 
"""

text2 = """<b>Come andò che Pipì perse la sua bellissima coda </b>

<br/>

Bisogna dunque sapere che, appena usciti fuori di quella foresta, dove stavano di casa Pipì e la sua famigliola, si trovava subito un gran lago abitato da un vecchio coccodrillo, che contava oramai duemil'anni di vita. 
Arabà-Babbà (così chiamavasi il vecchio coccodrillo), divenuto cieco degli occhi a cagione dell'età decrepita, e non potendo più guadagnarsi un boccon di pane col sudore della sua fronte, era condannato a starsene dalla mattina alla sera rasente alla riva del lago, con la testa fuori dell'acqua e con la bocca sempre spalancata, aspettando che tutti quelli che passavano di là, uomini o bestie che fossero, mossi a compassione di lui, gli gettassero in bocca qualche cosa di masticabile, tanto da non morir di fame e da tirarsi avanti almeno per un altro migliaio d'anni. 
E tutti i passanti, uomini o bestie che fossero, bisogna dir la verità, non mancavano mai di fare un po' di elemosina al povero vecchio. 
E anche Pipì lo soccorreva frequentemente: ma quella birba, spesso e volentieri, invece di dargli o una frutta o un pesciolino morto, si divertiva a mettergli in bocca ora una manciata di sassolini, ora un fastello di stecchi e di ortica, ora un chiodo o un arpione arrugginito, trovati per caso lungo la strada. 
Ma il vecchio coccodrillo non si arrabbiava per questi scherzi sguaiati. Tutt'altro. 
Risputava tranquillamente i sassolini, gli stecchi, le ortiche e i chiodi, e soltanto scoteva leggermente il capo, come per dire: 
«Bada, monello! O prima o poi, una le paga tutte!...». 
Un giorno Pipì, quasi impermalito di vedere che i suoi scherzi non facevano né caldo né freddo, domandò al coccodrillo, atteggiandosi a ingenuo e a innocentino: 
«Dite, Arabà: dacché siete al mondo, ne avete trovati mai degl'impertinenti, che vi abbiano fatto qualche dispetto o qualche burla sgarbata?» 
«Se ne ho trovati, scimmiottino mio! Nel mondo, per tua regola, c'è più impertinenti che mosche.» 
«Dite, Arabà: e quando i monelli vi fanno qualche dispetto, voi non vi risentite mai?» 
«Caro mio! In tanti anni di vita ho imparato che la più gran virtù dei vecchi è quella di saper sopportare i giovani con pazienza e rassegnazione.» 
«Dunque, dacché siete al mondo, non vi siete arrabbiato mai, mai, mai?» 
Il coccodrillo, prima di rispondere, ci pensò un poco, e poi disse: 
«Una volta sola. E sai chi fu che mi fece andare su tutte le furie? Fu uno scimmiottino, su per giù, della tua età....» 
«E che cosa vi fece questo scimmiottino?» domandò Pipì, con una curiosità vivissima. 
«Questo monellaccio, non saprei dirti come, era venuto a sapere che io curavo moltissimo il solletico sulla punta del naso. Allora che cosa inventò per darmi noia? Salì sopra uno di questi alberi, che circondano il lago, e, calandosi di ramo in ramo, arrivò con la punta della sua coda a farmi il pizzicorino sul naso. Figurati io! Mi trovai attaccato da una tal convulsione di riso, che durai a ridere e a ballare nell'acqua per una settimana intera! Credevo quasi di morire!» 
«Davvero?... Oh povero Arabà!...», disse Pipì con falsa compassione. 
E dopo se ne andò di corsa: e a quante scimmie e scimmiottini incontrava per la strada, ripeteva a tutti ridendo queste parole: 
«Volete divertirvi? volete veder ballare il vecchio Arabà? Venite domattina sul lago e io vi farò assistere a questo bellissimo spettacolo».  
La mattina dopo, come potete immaginarvelo, c'era sulla riva del lago una folla immensa. 
Tutti aspettavano che Arabà ballasse il trescone. 
Quand'ecco Pipì che salito sopra un albero sporgente sull'acqua, cominciò a calarsi giù di ramo in ramo, e tenendosi penzoloni per aria, si allungò e si distese tanto, da poter toccare con la punta della sua coda il naso del coccodrillo. 
Ma il coccodrillo, appena sentì la coda di Pipì, chiuse la bocca e zaff... con un semplice morso dato a tempo, gliela staccò di netto fin dal primo nodello. 
Lo scimmiottino cacciò un grido acutissimo di dolore: e buttandosi di sotto all'albero, si dette a scappare verso la foresta. 
Arrivato vicino a casa, vi lascio pensare come rimase, quando, portandosi una mano di dietro, si accorse che la sua coda non c'era più. 
La coda era rimasta in bocca al coccodrillo, che a quell'ora l'aveva bell'e digerita. 
Preso dalla disperazione e vergognandosi a farsi vedere dalla sua famiglia in quello stato compassionevole di scimmiottino scodato, Pipì infilò per una viottola solitaria, camminando all'impazzata fino a notte chiusa, senza sapere neanche lui dove andasse a battere il capo. 
Finalmente, non potendone più dalla stanchezza e dal sonno, si sdraiò sopra un monticello di frasche secche per riposarsi un poco. 
E in quel mentre che era lì lì per appisolarsi, sentì negli orecchi una voce minacciosa, che gli gridò imperiosamente: 
«Rendimi la mia pipa!...». 
Lo scimmiottino, svegliandosi tutto spaventato, voleva fuggire; ma non poté: perché in men che non si dice, si trovò preso, rinchiuso in un sacco e caricato sulla groppa di una bestia con quattro zampe, che cominciò a correre di gran carriera. 
"Che bestia sarà mai quella che mi porta via con tanta foga?", pensava lo scimmiottino tremando dalla paura. "Se per caso è un leone, sono bell'e perduto!... Se per disgrazia è una tigre, peggio che mai!... Se è una iena o un leopardo, non c'è più scampo per me!... Oh me disgraziato! Che bestia sarà mai quella che mi porta via con tanta foga?..." 
Per buona fortuna, la bestia ragliò... e allora Pipì sentì allargarsi il cuore dalla contentezza. 
Quel raglio fu l'unica consolazione che avesse il povero Pipì durante il suo misterioso viaggio, rinchiuso in un sacco! """ 

text3 = """<b>Pipì cade in un gran fiume e vien ripescato </b>

<br/>

Dopo aver camminato tre giorni e tre notti, senza prendere un minuto di riposo, finalmente la bestia che portava in groppa il sacco con lo scimmiottino dentro, si fermò tutt'a un tratto, e data una gropponata, scaricò il sacco in mezzo a una solitaria campagna. 
E la gropponata fu così brusca e violenta, che il sacco, cadendo a terra, seguitò a ruzzolare sull'erba per un mezzo chilometro. Figuratevi quante capriole dové fare, al buio, il povero scimmiottino. 
Ma il momento più brutto per lui fu quando si provò a rompere il sacco per uscir fuori. 
Adoperò gli unghioli, e non concluse nulla: adoperò i denti, e nulla. Rifinito allora dallo strapazzo e dalla fame, cominciò a piangere come un bambino. 
«Chi è che piange?», domandò un grosso topo, che passava per caso da quella parte. 
«Sono io!... sono un povero scimmiottino che muore di fam...» 
Ma non poté finire la parola, perché gli fu troncata a mezzo da un lunghissimo e sonoro sbadiglio, che gli scappò di bocca. 
«Esci fuori, e mangerai.» 
«Si fa presto a dire esci fuori: ma la vuoi intendere che non posso uscire?» 
«Perché?» 
«Perché non mi riesce di rompere il sacco.» 
«Lascia fare: il sacco lo romperò io.» 
Detto fatto, il topo si distese lungo sull'erba, e cominciò a rosicchiare con quanta forza aveva ne' denti. 
Ma il sacco non cedeva, perché era più duro del cuoio. 
«Quanto tempo ti ci vorrà per bucarlo?», domandò lo scimmiottino. 
»Il sacco resiste: ma in quattro o cinque mesi spero di averlo bucato!» 
«Cinque mesi?», strillò di dentro il povero Pipì, «ma dopo cinque mesi troverai nel sacco appena i miei ossi e i miei unghioli!...» 
E ricominciò a piangere più forte che mai. 
«Chi è che piange?», domandò un vitello, che pascolava lì vicino. 
«È un disgraziato scimmiottino, che non può uscire di dentro da quel sacco», rispose il topo. 
«Perché non può uscire?» 
«Perché il sacco è così duro, che non c'è verso di romperlo.» 
«Lascia fare a me, che con un cozzo delle mie corna, lo sfonderò, come se fosse fatto di foglie di lattuga.» 
E il vitello, senza stare a dir altro, si tirò indietro; e presa la rincorsa, andò a testa bassa a battere una terribile cornata nel sacco. 
«Ohi! son morto!...», gridò di dentro il povero Pipì: e non disse altro. 
Intanto il sacco, a quell'urto screanzato, riprese di nuovo a ruzzolare per terra, come una vescica piena d'aria: e il topo e il vitello a corrergli dietro per fermarlo: e il sacco via... ruzzolava sempre più lesto... e il topo e il vitello a rincorrerlo a salti e con la lingua di fuori. 
E dopo aver corso una giornata intera, e, quando erano proprio lì lì per raggiungerlo, il sacco fece altri due ruzzoloni e giù... cadde in un fiume così profondo e così largo, che non si vedevano le sponde da una parte all'altra. 
La mattina dopo alcuni pescatori bussarono alla porta di un bel palazzo, e al servitore che veniva ad aprire, chiesero premurosamente: 
«È alzato il padroncino Alfredo?» 
«Il padroncino», rispose il portiere, «è nella sala terrena, che prende il caffè e latte.» 
«Avvisatelo, che stamani all'alba abbiamo pescato nel fiume il famoso sacco...»
«Che cos'è mai questo sacco?» 
«Gli è quello che il padroncino aspetta da parecchi giorni.» 
Appena il portiere ebbe fatta l'imbasciata, tornò in un attimo sulla porta e disse ai pescatori: 
«Passate subito.» 
I pescatori entrarono col sacco sulle spalle, e giunti alla presenza del padrone, lo posarono delicatamente sul pavimento. 
«Apritelo!», disse il giovinetto Alfredo. 
«È impossibile, signor padrone. Ci siamo provati a sfondarlo con gli scalpelli, con le scuri e co' trapani... ma il sacco è più duro del macigno.» 
«Prendete questo spillo, e bucatelo.» 
E nel dir così, il giovinetto Alfredo si levò dal fazzoletto da collo uno spillo d'oro, sormontato da una grossa perla, sulla quale (cosa singolarissima!) si vedeva dipinta la testa di una bella bambina coi capelli turchini. 
I pescatori presero lo spillo in mano, e guardandosi fra loro stupefatti, pareva che volessero dire: "Com'è possibile che con questo spilluccio d'oro si possa forare un sacco, che ha resistito ai trapani e agli scalpelli?". 
«Bucate subito quel sacco» ripeté Alfredo con voce di comando.
I pescatori, per atto di ubbidienza, si chinarono, provandosi a infilare la punta dello spillo: e immaginatevi quale fu la loro meraviglia, quando si accorsero che lo spillo entrava con tanta facilità, come se il sacco fosse stato di polenta o di panna montata. 
Appena bucato leggermente, il sacco si aprì in due parti, e lasciò vedere un povero scimmiottino, tutto malconcio, che dava appena gli ultimi segni di vita. 
Alfredo prese lo scimmiottino in collo e gli bagnò la bocca con un po' di latte tiepido. 
A poco per volta Pipì si riebbe ed aprì la bocca. Allora Alfredo gli pose in bocca una pallina di zucchero e un crostino imburrato. 
Pipì inghiottì il crostino e lo zucchero, senza far nemmeno l'atto di masticarli. 
Poi aprì gli occhi e li fissò negli occhi di quel simpatico giovinetto, che aveva per lui tante cure e tante attenzioni: e pareva quasi che volesse ringraziarlo. 
Alla fine, quando a furia di latte, di crostini e di palline di zucchero, Pipì ebbe ripreso tutte le sue forze, allora saltò in terra, e stando ritto sulle gambe di dietro, cominciò a coprir di baci la mano del suo piccolo benefattore. 
I pescatori, tutta gente d'ottimo cuore, commossi a questa scena, facevano i luccioloni e si rasciugavano gli occhi: ma il padroncino Alfredo disse loro: 
«Andate alle vostre faccende e chiudete la porta di sala: ho grandissimo desiderio di parlare a quattr'occhi con questo scimmiottino». 
"""

text4 = """<b>La Mucca, la Capra e la Pecora in società col Leone </b>

<br/>

Si narra che una volta stringesser comunella la Pecora, la Mucca, la Capra lor sorella, col gran signor del luogo che detto era Leone, a questa condizione: che ognun insieme i danni e gli utili mettesse. Ben stabiliti i patti avvenne che cadesse un cervo nella fossa un dì della capretta, che onesta manda a chiedere i suoi compagni in fretta. 

Giunto il Leone, esclama: -Faremo quattro parti-. E subito coll'unghie straccia la bestia in quarti. La prima se la piglia e ciò per la ragione ch'egli è Messer Leone. -Un'altra parte - aggiunge, - ancor spettami in sorte perché sono il più forte. La terza me la piglio perché sono il Leone, e se la quarta qualcuno osasse contrastarmi lo mangio in un boccone. 
"""

text5 = """<b>I Ladri e l'Asino. </b>

<br/>

Due Ladri avean rubato un Somarello e a pugni il disputavan fra di loro: quand'ecco sul più bello un terzo sopraviene, che piglia Orecchialunga e se lo tiene. Dei piccoli paesi ecco la storia, che sono alla balìa di questo o quel vicino prepotente. Mentre il Turco, il Rumeno o il Transilvano accorrono alle prese, un altro arriva, per esempio Inglese, che piglia per sé l'asino e lascia agli altri un bel niente in mano.
"""
root = RootPanel()
testo_errori = []
index = 0
x = 0        
indice_di_prima = 0
# funzioni

class MenuCommand(object):
    def __init__(self, obj, cmd, *args):
        self._obj = obj
        self._cmd = cmd
        self._args = args
    def execute(self):
        self._cmd(self._obj, *self._args)

def setMenuCommand(menu, function, *args):
    """
    Fa in modo che, quando si clicca su 'menu', venga chiamata la
    funzione 'function'.
    """
    menu.setCommand(MenuCommand(menu, function, *args))

# def onTesto1(sender):
#     """
#     Fa in modo che quando si clicca su 'testo 1' nel menu' ri-inizializzi il pannello con il testo 1, pronto da leggere.   
#     """
#     global text, parole, contents, t1, testo_errori
#     restart(t1)
#     #setMenuCommand(t1, restart)
#     text = text1
#     parole = text.split(" ")
#     inizio = parole[:]
#     testo_errori = parole[:]
#     new_text = " ".join(inizio)
#     contents.setHTML(new_text)

# def onTesto2(sender):
#     """
#     Fa in modo che quando si clicca su 'testo 2' nel menu' ri-inizializzi il pannello con il testo 2, pronto da leggere.   
#     """
#     global text, parole, contents, t2, testo_errori
#     #setMenuCommand(t2, restart)
#     restart(t2)
#     text = text2
#     parole = text.split(" ")
#     inizio = parole[:]
#     testo_errori = parole[:]
#     new_text = " ".join(inizio)
#     contents.setHTML(new_text)


   
def onTesto(sender, button, text):
    """
    Fa in modo che quando si clicca su 'testo ...' nel menu' ri-inizializzi il pannello con il testo ..., pronto da leggere.   
    """
    #Window.alert(msg) # per esempio
    global text, parole, contents, testo_errori, new_text, index, x, istruzioni, giraffa,tux
    #restart(button)
   # setMenuCommand(t3, restart)
    #text = text3
    index = 0
    x = 0
    indice_di_prima = 0
    #contents.setHTML(new_text)
    tux.setVisible(True)
    
    panel.setCellWidth(tux, "30%")
    parole = text.split(" ")
    inizio = parole[:]
    testo_errori = parole [:]
    new_text = " ".join(inizio)
    contents.setHTML(new_text)
    giraffa.setVisible(False)
    pinguini.setVisible(False)
    #panel.add(contents)
    # parole = new_text.split(" ")
    panel.setCellVerticalAlignment(contents, HasAlignment.ALIGN_MIDDLE)
    panel.setCellHorizontalAlignment(contents, HasAlignment.ALIGN_LEFT)
    leggi.setText("LEGGI")
    orsetto.setVisible(False)
    istruzioni.setVisible(True)

def restart(button):
    """
    Fa in modo che quando si clicca su 'Ricomincia' nella barra, si
    ri-inizializzi il pannello.
    """
    global new_text, index, x, img, orsetto, contents, leggi, panel, testo_errori, pinguini, istruzioni, giraffa, tux # t1, t2, t3 #, panel, hw, contents
    # parole = text.split(" ")
    # inizio = parole[:]
    # inizio[0] = "<u>" + inizio[0] + "</u>"
    # new_text = " ".join(inizio)
    # panel.remove(contents)
    index = 0
    x = 0
    indice_di_prima = 0
    if len(parole)  == 0:
        pass
    else:
        testo = new_text
        contents.setHTML(testo)
        onTesto(button, button, testo)
        giraffa.setVisible(False)
        pinguini.setVisible(False)
    #panel.add(contents)
    # parole = new_text.split(" ")
        panel.setCellVerticalAlignment(contents, HasAlignment.ALIGN_MIDDLE)
        panel.setCellHorizontalAlignment(contents, HasAlignment.ALIGN_LEFT)
        leggi.setText("LEGGI")
        orsetto.setVisible(False)
        tux.setVisible(True)
        panel.setCellWidth(tux, "30%")
        istruzioni.setVisible(True)

def leggere(button):
    """
    Fa in modo che quando si clicca su 'leggi':
    1. venga evidenziata una parola alla volta finche' il testo non e' finito e vengano conteggiati eventuali errori, cioe' il numero di volte in cui viene cliccato il bottone 'Errore'
    2. quando il testo e' finito:
       - il tasto 'leggi' diventi il tasto 'il testo e' finito!'
       - compaia una finestra che consiglia di fare una pausa
       - compaia il conteggio degli errori, dato dal numero di volte in cui viene cliccato il bottone 'Errore', e il testo con le parole errate evidenziate.
       - compaia l'orsetto vittorioso
    """
    global index, x, panel, leggi, parole, img, testo_errori, pinguini, istruzioni, giraffa, tux #righe 
    tux.setVisible(False)
    panel.setCellWidth(tux, "0%")
    #n_righe = len(righe)
    n_parole = len(parole)
   
    #nuova_lista = righe[:]
    nuova_lista = parole[:]
   
    if index < len(parole):
        nuova_lista[index] =  "<u>" + nuova_lista[index] + "</u>"
        nuovo_testo = " ".join(nuova_lista[:index+1])
        resto_testo = " ".join(nuova_lista[index+1:])
        tutto_testo = nuovo_testo + " " + resto_testo                       
        contents.setHTML(tutto_testo)
       
    elif len(parole)  == 0:
        contents.setHTML("<b>Devi scegliere un testo dal menù per iniziare a leggere!<b>")
        panel.setCellVerticalAlignment(contents, HasAlignment.ALIGN_MIDDLE)
        panel.setCellHorizontalAlignment(contents, HasAlignment.ALIGN_CENTER)
        giraffa.setVisible(True)
       
    elif index == len(parole):#(righe):
        leggi.setHTML("Il Testo è finito!"
                      " <br />"
                      "Clicca qui per tornare all'inizio!")
       
        Window.alert("Fai una pausa!")
        if x == 0:
            contents.setHTML("Hai letto tutto il testo."
                             " <br />"
                             "Non hai fatto nessun errore."
                             " <br />"
                             "Complimenti!!")
            pinguini.setVisible(True)
            
            istruzioni.setVisible(False)
        else:                    
            contents.setHTML("Hai letto tutto il testo."
                             " <br />"
                             " Hai fatto: %d errori. Eccoli: %s" % (x, " ".join(testo_errori)))
            orsetto.setVisible(True)           
            istruzioni.setVisible(False)

        panel.setCellVerticalAlignment(contents, HasAlignment.ALIGN_MIDDLE)
        panel.setCellHorizontalAlignment(contents, HasAlignment.ALIGN_CENTER)
       
      
    else: 
        leggi.setText("LEGGI")
        contents.setHTML("Scegli un testo da leggere dal menù")
        panel.setCellHorizontalAlignment(contents, HasAlignment.ALIGN_LEFT)
        pinguini.setVisible(False)
        orsetto.setVisible(False)
        istruzioni.setVisible(True)
        tux.setVisible(True)
        parole = []
        testo_errori = []
        pass
 
    index += 1


def errare(button):
    """
    Fa in modo che ogni volta che si clicca il tasto 'Errore' venga contato il numero dei click e venga ricordata la parola su cui e' stato fatto il click evidenziandola in testo_errori (testo_errori avra' alla fine tutte le parole errate evidenziate)
    """
    global x, index, panel, leggi, parole, testo_errori, indice_di_prima#righe
    #index += 1
    
    parola_evidenziata = index - 1
    ##testo_errori[index] = "<u>" + testo_errori[index] + "</u>" 
    # if parola_evidenziata < 0:
    #     pass
    if parola_evidenziata < len(testo_errori) and  indice_di_prima != index:
        x += 1
        testo_errori[parola_evidenziata] = "<u>" + testo_errori[parola_evidenziata] + "</u>"
        
    # elif len(testo_errori)  == 0:
    #     pass
    
    indice_di_prima = index
   


class Tasti(object):
    
    SPAZIO = 32
    ENTER = 13
    LETTERA_A = 97

    def onKeyDown(self, sender, keycode, modifiers):
        pass

    def onKeyUp(self, sender, keycode, modifiers):
        pass

    def onKeyPress(self, sender, keycode, modifiers):
        if keycode == Tasti.SPAZIO:
            #Window.alert("Leggi!")
            leggere()
        elif keycode == Tasti.ENTER:
            #Window.alert("Errore!")
            errare()
        else:
            pass



def inizializza_pannello():
    """
    inizializza il pannello con la grafica iniziale
    """
    global leggi, parole, testo_errori, new_text, panel, contents, orsetto, img, pinguini, t1, t2, t3, t4, t5, root,  barra_alta, barra_bassa, istruzioni, giraffa, inizio, welcome, entra, tux, supertux, informazione

  
    root.remove(supertux)
    root.remove(inizio)
    root.remove(welcome)
    root.remove(entra)
    root.remove(informazione)

    barra_menu = HorizontalPanel(BorderWidth=3,Width = "100%", Height = "20%")  
    menu_testi = MenuBar(vertical=True)
    menubar = MenuBar(vertical=False)
    menubar.addItem(MenuItem("<b>MENU'</b>---Clicca qui per <b>scegliere un testo da leggere</b> dal menù", True, menu_testi))

    t1 = menu_testi.addItem("Storie Allegre di Carlo Collodi -- Pipì --1")
    setMenuCommand(t1, onTesto, t1, text1)
    t2 = menu_testi.addItem("Storie Allegre di Carlo Collodi -- Pipì --2")
    setMenuCommand(t2, onTesto, t2, text2)
    t3 = menu_testi.addItem("Storie Allegre di Carlo Collodi -- Pipì --3")
    setMenuCommand(t3, onTesto, t3, text3)
    t4 = menu_testi.addItem("Favole di J. de La Fontaine -- La Mucca, la Capra e la Pecora in società col Leone")
    setMenuCommand(t4, onTesto, t4, text4)
    t5 = menu_testi.addItem("Favole di J. de La Fontaine -- I Ladri e l'Asino")
    setMenuCommand(t5, onTesto, t5, text5)
   
    barra_menu.add(menubar)
    barra_menu.setCellHorizontalAlignment(menubar, HasAlignment.ALIGN_LEFT)
    barra_menu.setCellWidth(menubar, "50%", "100%")
    root.add(barra_menu)


    supertux = Image("images/tux.jpeg",BorderWidth=3)
    root.add(supertux)
    root.setCellVerticalAlignment(supertux, HasAlignment.ALIGN_MIDDLE)
    root.setCellHorizontalAlignment(supertux, HasAlignment.ALIGN_CENTER)
    #supertux.setVisible(False)
    # inizio.setVisible(False)
    # welcome.setVisible(False)
    # entra.setVisible(False)
    

   
    #supertux.setVisible(True)
   

    barra_alta = HorizontalPanel(Width="100%")#, BorderWidth=3)
    leggi = Button("LEGGI", leggere)
    errore = Button("Errore", errare)
    
    ricomincia = Button("Ricomincia", restart)
    #leggi = Button("Leggi...")

    barra_alta.add(leggi)
    barra_alta.add(errore)
    barra_alta.add(ricomincia)
#barra_alta.add(menubar)
    #barra_alta.add(leggi)
#root.add(menubar)
    barra_alta.setCellWidth(leggi, "10%")
    barra_alta.setCellWidth(errore, "60%")
    barra_alta.setCellWidth(ricomincia, "30%")
    #barra_alta.setCellWidth(leggi, "15%")


    barra_alta.setCellHorizontalAlignment(ricomincia, HasAlignment.ALIGN_CENTER)#RIGHT)
    barra_alta.setCellHorizontalAlignment(leggi, HasAlignment.ALIGN_CENTER)
    root.add(barra_alta)


    #parole = text.split(" ")
    #inizio = parole[:]
    #testo_errori = parole[:]

#inizio[0] = "<u>" + inizio[0] + "</u>"

    #new_text = " ".join(inizio)

#panel = ScrollPanel(Size=("90%", "10%"))
    barra_centrale = VerticalPanel(Width = "100%", Height = "90%")#, BorderWidth=3)
    panel = HorizontalPanel(Width = "100%", Height = "90%")#, BorderWidth=3)
    contents = HTML("<b>Scegli un testo</b> da leggere dal menù e poi <b>clicca su Tux</b> per avvisarlo che stai per iniziare a leggere!!", BorderWidth=3)
   
    # menu_testi = MenuBar(vertical=True)
    # menubar = MenuBar(vertical=False)
    # menubar.addItem(MenuItem("Scegli un testo dal menù", menu_testi))

    # t1 = menu_testi.addItem("testo 1")
    # setMenuCommand(t1, onTesto, t1, text1)
    # t2 = menu_testi.addItem("testo 2")
    # setMenuCommand(t2, onTesto, t2, text2)
    # t3 = menu_testi.addItem("testo 3")
    # setMenuCommand(t3, onTesto, t3, text3)
    # panel.add(menubar)
    tux = Image("images/tuxBOOK.jpeg")
    tux.setVisible(True)
    
    #tux.setSize("50%", "20%")

    giraffa = Image("images/giraff10.gif")
    giraffa.setSize("60%", "70%")
    giraffa.setVisible(False)
    pinguini = Image("images/pinguini ballerini.gif")
    pinguini.setSize("60%", "70%")
    pinguini.setVisible(False)
    parole = []
    testo_errori = []

    panel.add(contents)
    panel.setCellVerticalAlignment(contents, HasAlignment.ALIGN_MIDDLE)
    panel.setCellHorizontalAlignment(contents, HasAlignment.ALIGN_LEFT)
    panel.add(tux)
    panel.setCellWidth(tux, "30%")
    panel.setCellVerticalAlignment(tux, HasAlignment.ALIGN_MIDDLE)
    #barra_centrale.setCellHorizontalAlignment(giraffa, HasAlignment.ALIGN_LEFT)
    panel.add(pinguini)
    barra_centrale.add(panel)
    barra_centrale.add(giraffa)
    barra_centrale.setCellHeight(panel, "90%")
    barra_centrale.setCellVerticalAlignment(giraffa, HasAlignment.ALIGN_MIDDLE)
    barra_centrale.setCellHorizontalAlignment(giraffa, HasAlignment.ALIGN_CENTER)
    barra_centrale.setCellVerticalAlignment(panel, HasAlignment.ALIGN_MIDDLE)
    root.add(barra_centrale)
    root.setCellHeight(barra_centrale, "90%")
   
    
    orsetto =  HorizontalPanel(BorderWidth=3,Width = "100%")
    img = Image("images/cicciorsetto.gif")
    img.setSize("30%", "40%")
    riprova = Button("Rileggi questo testo", restart)
    orsetto.add(riprova)
    orsetto.add(img)
    orsetto.setCellWidth(riprova, "20%")
    orsetto.setCellVerticalAlignment(riprova, HasAlignment.ALIGN_MIDDLE)
    orsetto.setCellHorizontalAlignment(riprova, HasAlignment.ALIGN_CENTER)
    orsetto.setCellVerticalAlignment(img, HasAlignment.ALIGN_MIDDLE)
    orsetto.setCellHorizontalAlignment(img, HasAlignment.ALIGN_CENTER)
    orsetto.setVisible(False)                             
    barra_centrale.add(orsetto)

    
    
   #  barra_bassa = HorizontalPanel(BorderWidth=3,Width = "100%", Height = "20%")
#     s = HTML("Clicca su                 ")
#     #barra_bassa.add(s)

# #rr = Button("Leggi...")
    
  

#     menu_testi = MenuBar(vertical=True)
#     menubar = MenuBar(vertical=False)
#     menubar.addItem(MenuItem("Clicca qui per <b>scegliere un testo da leggere dal menù</b>", True, menu_testi))

#     t1 = menu_testi.addItem("Storie Allegre di Carlo Collodi -- Pipì --1")
#     setMenuCommand(t1, onTesto, t1, text1)
#     t2 = menu_testi.addItem("Storie Allegre di Carlo Collodi -- Pipì --2")
#     setMenuCommand(t2, onTesto, t2, text2)
#     t3 = menu_testi.addItem("Storie Allegre di Carlo Collodi -- Pipì --3")
#     setMenuCommand(t3, onTesto, t3, text3)
#     t4 = menu_testi.addItem("Favole di J. de La Fontaine -- La Mucca, la Capra e la Pecora in società col Leone")
#     setMenuCommand(t4, onTesto, t4, text4)
#     t5 = menu_testi.addItem("Favole di J. de La Fontaine -- I Ladri e l'Asino")
#     setMenuCommand(t5, onTesto, t5, text5)
#     #barra_bassa.add(self.makeLabel("Clicca qui per <b>scegliere un testo da leggere</b> dal menù"))
#     barra_bassa.add(menubar)
#     #self.setStyleName("ks-layouts")
# #pp.add(rr)
#     ss = HTML(" per leggere un testo")
#     #barra_bassa.add(ss)


# # #pp.setCellVerticalAlignment(s, HasAlignment.ALIGN_BOTTOM)
#     #barra_bassa.setCellHorizontalAlignment(s, HasAlignment.ALIGN_RIGHT)
# # #pp.setCellVerticalAlignment(rr, HasAlignment.ALIGN_BOTTOM)
#     barra_bassa.setCellHorizontalAlignment(menubar, HasAlignment.ALIGN_CENTER)
# # #pp.setCellVerticalAlignment(ss, HasAlignment.ALIGN_BOTTOM)
#     #barra_bassa.setCellHorizontalAlignment(ss, HasAlignment.ALIGN_LEFT)

#     #barra_bassa.setCellWidth(s, "25%")
#     barra_bassa.setCellWidth(menubar, "50%", "100%")
#     #barra_bassa.setCellWidth(ss, "20%")
#     root.add(barra_bassa)
# f = TextBoxDemo()
# root.add(f)
    istruzioni = HTML("<b>Dopo aver scelto un testo, per iniziare la lettura clicca su Tux per avvisarlo che stai per iniziare a leggere!</b>"
                      " <br />"
                      " "
                      " <br />"
                      "Per <b>leggere</b> clicca sul tasto <b>'LEGGI'</b> o premi la <b>barra spaziatrice</b>"
                      " <br />"
                      " "
                      " <br />"
                      "Per segnare un <b>errore</b> durante la lettura clicca sul tasto <b>'Errore'</b> o premi il tasto <b>'Enter/Invio' </b>")
    #istruzioni.setSize("100%")
    istruzioni.setVisible(True)
    
    root.add(istruzioni)

container = VerticalPanel(Width="100%", Height = "100%")#,BorderWidth=3)
focus = FocusPanel(Widget=container)
tasti = Tasti()
focus.addKeyboardListener(tasti)
focus.setFocus(True)
root.add(focus)
root = container
welcome = HTML("Ciao! Questo è <b>LeggiTux!</b>"

               " <br/>"

               "Se vuoi provarlo clicca <b>'Entra'</b>"
               
               " <br/>"
               " <br/>")
               
               #"*************************************")#,BorderWidth=3)

entra = Button("Entra", inizializza_pannello)
informazione = HTML(" <br/>"

                    "<i>Questo programma è in fase di sviluppo. Per favore, inviate critiche e suggerimenti a: agnesedalborgo@gmail.com</i>"

                    " <br/>"
                    " <br/>")
                   # "----------------------------------------------------------- ")
inizio = Image("images/logolin.png")#,BorderWidth=3)
supertux = Image("images/tuxPC.jpeg",BorderWidth=3)
root.add(supertux)
root.add(welcome)
root.add(entra)
root.add(informazione)
root.add(inizio)
#welcome.setSize("40%", "60%")
root.setCellVerticalAlignment(welcome, HasAlignment.ALIGN_MIDDLE)
root.setCellHorizontalAlignment(welcome, HasAlignment.ALIGN_CENTER)
root.setCellVerticalAlignment(supertux, HasAlignment.ALIGN_MIDDLE)
root.setCellHorizontalAlignment(supertux, HasAlignment.ALIGN_CENTER)
#entra.setSize("10%", "80%")
root.setCellVerticalAlignment(informazione, HasAlignment.ALIGN_MIDDLE)
root.setCellHorizontalAlignment(informazione, HasAlignment.ALIGN_CENTER)
root.setCellVerticalAlignment(entra, HasAlignment.ALIGN_MIDDLE)
root.setCellHorizontalAlignment(entra, HasAlignment.ALIGN_CENTER)
root.setCellWidth(entra, "80%")
root.setCellHeight(entra,"10%") 
inizio.setSize("80%", "100%")
root.setCellVerticalAlignment(inizio, HasAlignment.ALIGN_MIDDLE)
root.setCellHorizontalAlignment(inizio, HasAlignment.ALIGN_CENTER)
inizio.setVisible(True)
supertux.setVisible(True)

#inizializza_pannello()
pyjd.run()


# class TextBoxDemo(SimplePanel):
#     def __init__(self):
#         SimplePanel.__init__(self)

#         field = TextBox()
#         field.setVisibleLength(200)
#         field.setMaxLength(10)

#         self.add(field)

# def greet(fred):
#     fred.setText("No, really click me!")
#     Window.alert("Hello, AJAX!")
# x = 0
# def kansas(sender):
#     RootPanel().add(HTML("Not in Kansas no more"))
#     global x
#     x += 1
#     y = RadioButton("yellow road", "Ciccio")
#     r = RadioButton("yellow road", "Pippo")
#     RootPanel().add(y)
#     RootPanel().add(r)
#     RootPanel().add(HTML("No of times not in Kansas: %d" % x))


#VARIE PROVE  
    # for i in range (0,index):
    #     nuova_lista = righe[:]
    #     stringa = " ".join(nuova_lista[i])
    #     nuova_lista[0] = "*"
    #     nouva_lista.append("*")
   
        

    #nuovo_testo = " ".join(righe[:index])

    #parole = nuovo_testo.split()
    #nuovo_testo =  "*" + nuovo_testo + "*"
    # for i in range (0, n_righe, 1):
    #     nuova_lista = righe[:]
    #     nuova_lista[i] =  "*" + nuova_lista[i] + "*"
    #     righe[i] = "*" + righe[i] + "*"
    # if index <= len(righe):
    #uovo_testo =  "*" + nuovo_testo + "*"
    # nuovo_testo = " ".join(nuova_lista[:index])
    # contents.setHTML(nuovo_testo)
    
         
    # for riga in righe:
    #     nuovo_testo = "*", riga, "*"

    #     nuova_lista = righe[:]
        # nuova_lista[i] =  "*" + nuova_lista[i] + "*"
    #     righe[i] = "*" + righe[i] + "*"
   



# v = VerticalPanel(Width="90%", Height="40%", BorderWidth=3)
# a = Button("Apri Testo...")
# v.add(a)
# e = Button("Scegli Impostazioni...")
# v.add(e)
# i = Button("Salva...")
# v.add(i)
# m = Button("Mostra Risultati...")
# v.add(m)
# n = Button("Gestione Lettori...")
# v.add(n)
# o = Button("Inserisci Nuovi Testi")
# v.add(o)
# root.add(v)
#righe = text.split("\n")
